System with graphical interface for modifying position of programmable fixture devices

ABSTRACT

An apparatus for interfacing between a human operator and a manufacturing cell having a plurality of mechanical units for assembling components and subassemblies includes a video monitor responsive to display signals for generating to the human operator a graphic display of information related to a selected one of a plurality of mechanical units in the manufacturing cell. An input device such as a mouse is responsive to the human operator for generating command signals representing desired changes to the graphic display including information as to which of the mechanical units is selected, which style of components is selected and an amount and direction of a software shim to be applied to the selected mechanical unit. A data processing means is connected to the video monitor and to the input device, is responsive to the command signals for generating control signals and is responsive to position signals for generating the display signals. The data processing means is connected to the manufacturing cell for receiving the position signals generated by the selected mechanical unit representing a predetermined master position of the selected mechanical unit and the mechanical unit is responsive to the control signals for repositioning to a new desired position represented by the command signals.

BACKGROUND OF THE INVENTION

The present invention relates generally to programmable fixture devicesfor assembling components into an assembly and, in particular, to anapparatus and a method for graphically interfacing between an operatorand such programmable fixture devices.

The process of constructing a vehicle body includes formingsubassemblies from individual body panel components, forming largersubassemblies from groups of smaller subassemblies, panels and othercomponents, and forming a final body assembly from the largersubassemblies. During the construction process, the components andsubassemblies must be held in fixed, predetermined positions whileattachment operations such as welding and inserting fasteners areperformed. Typically, the components and subassemblies are held at awork or assembly station in fixtures utilizing locators and clamps whichare movable to abut predetermined points on a component surface duringthe attachment operation and to retract from the surface to permit thesubassembly to be moved to another assembly station. Since componentsare manufactured within a tolerance range, the locations of thepredetermined points will vary from component to component and fromsubassembly to subassembly. The fixtures must also be capable ofadjustments in holding positions to accommodate the various locations ofthe predetermined points.

One method of adjusting the fixtures is to utilize relatively thinpieces of metal known as "shims" to move the engaging surface of thefixture from the nominal location of the predetermined point to theactual location of the predetermined point on the surface of thecomponent. The selection of the shim or shims to be used is made by anoperator who either measures or visually observes a completed assemblyto determine the necessary adjustment. The insertion and removal of theshims is a time consuming and costly process since production must bestopped each time to physically insert or remove a shim.

In order to avoid the problems associated with the physical insertionand removal of shims, some assembly systems utilize robots to make thenecessary adjustments. The U.S. Pat. No. 5,005,277 shows a systemincluding robots which are automatically adjusted to move and securework pieces to a basic body member. At each stage along a productionline, robots are provided having supporting jigs, gauge devices and workclamp devices to correctly position and hold body panels which are thenwelded in place on a frame. One or more inspection stages include aplurality of dimension measuring devices for ascertaining whether theattached panels have been located in the correct positions. The robotsand the dimension measuring devices are connected to a central controlhaving an expert system. The central control includes a CPU, a memory, aCAD data memory, a body assembly database, and an inference engine. Whenthe assembly operation is started, CAD data is loaded into the CADmemory. The CPU then utilizes the stored CAD data to derive the initialdisplacement of the jigs from their home positions and the displacementby which each of the plates of the gauge devices must be displayed fromtheir respective home positions. Next, the reference point or pointswhich are to be used as scanning targets are derived from the CAD data.Upon receiving the position information from the measuring devices, theCPU calculates reference point deviation, converts the reference pointdeviation to gauge deviation, and calculates the gauge device deviationcorrection amount necessary to correct the gauge deviation duringproduction using the information in the body assembly database. Theinference engine is utilized to determine the amounts by which each ofthe plates in the gauges are to be moved, and the displacements for thework support jigs and gauge devices are changed accordingly.

The U.S. Pat. No. 5,239,739 shows a method and system for the flexibleassembly of components into an assembly at an assembly station within anassembly area in an adaptive, programmable fashion. Several programmablelocators mounted on a platform work cooperatively to receive and supportcomponents or parts having critical positioning features at approximatelocations. The programmable locators then move the components so thatthe critical positioning features and hence the components are atdesired locations. Thereafter, part position and orientation areconstrained at retaining locations while the components are in theirdesired locations. Processing equipment at least partially joins theretained components either at the assembly station or at a separateprocessing station. One of the programmable locators may provide one ofthe retaining locations. Preferably, at least one sensor mounted on oneof the programmable locators provides at least one feedback signal for acontrol means which controls at least one programmable locator to adaptits position with respect to at least one critical feature of its partto thereby relocate the part. In this way, verification of the accuracyof the positioning and holding is provided.

The above described devices have several shortcomings. The accuracy ofthe new position is very dependent upon the skill of the operator. Theoperator must be trained in robotic motion, teach pendant operation,coordinate systems, programmable controller program creation andediting, 3-D print reading, part tolerencing and body shop terminology.Changes are made in robot or tool coordinates, not body framecoordinates and the operator may be required to transform the desiredposition changes from one coordinate system to another. When dimensioninspection such as machine vision is utilized, special lighting isrequired and the cycle time is increased. Also, machine vision changes areference frame but does not change the master position for the part.

SUMMARY OF THE INVENTION

The present invention concerns a graphical user interface (GUI) betweenan operator and a programmable fixture system for processing componentsinto an assembly. An interface means includes an input device (keyboard,mouse) and an output device (video monitor) which are connected to acentral processing unit (CPU), a memory and a manufacturing cellincluding several mechanical units which are utilized to locate, clampor process components while such components are being made into asubassembly. The operator uses the interface device to select a stylerepresenting one of several assemblies to be manufactured. The positioninformation related to the components and the clamping sequenceinformation for each assembly is stored in the memory as a masterposition and is utilized by the CPU to control the position andoperation of the mechanical units. Both the stored position informationand the location of the mechanical units are referenced from a commonreference point which is the same reference point that it is utilizedfor the manufacturing drawings for the assembly (body frame coordinatesystem).

The position of any mechanical unit in the manufacturing cell can beadjusted by the operator who utilizes the interface means to input"software shim" information representing a currently taught position.The CPU responds to the "software shim" information by moving theappropriate mechanical unit in the direction and the amount of distancespecified by the operator and also stores the "software shim"information in association with the original position information forthe assembly. Thus there is a record of each "software shim".

The output device is responsive to display signals for generating to thehuman operator a graphic display of information related to a selectedprogrammable fixture (mechanical unit). The input device is responsiveto the human operator for generating command signals representingdesired changes to the graphic display of information. The graphicdisplay can be a shim utility screen including a manufacturing celldisplay area having a graphical representation of a position of theprogrammable fixture relative to a common reference point. The shimutility screen can include a shim size display area having a visualindication of a size of a software shim to be applied to theprogrammable fixture and a visual indication of a direction in which thesoftware shim is to be applied to the programmable fixture. The shimutility screen also can include a function selected display area havinga visual indication of a function selected, a mechanical unit selectedand a style selected for the programmable fixture, a message displayarea having a visual indication of operating messages and error messagesand a shim history display area having a visual indication of softwareshims previously applied to the programmable fixture.

The graphic display can be a position edit utility screen including aposition display area having a visual indication of the master positionand of the currently taught position of the programmable fixturerelative to the common reference point. The graphic display can be aframe edit utility screen including a style frame edit display areahaving a visual indication of information representing a style selectedfor the programmable fixture. The graphic display also can be a monitorutility screen including a CPU display area having a visual indicationof information representing a status of said data processing means and aCTLR display area having a visual indication of information representinga status of the programmable fixture.

The invention has the advantage of eliminating the need for convertingfrom drawing coordinates to manufacturing cell coordinates and forjogging a tool to a new position.

The invention has the further advantage of eliminating the need forphysically inserting and removing mechanical shims.

The present invention overcomes the shortcomings of the prior artsystems by placing both the value and the orientation of a change underthe control of the operator. The system according to the presentinvention will lead and direct the operator through a predeterminedseries of steps with guidance as to the required information to beentered. All changes to the positions of the programmable fixtures aremade in body frame or part specific coordinates. Unlike robots, only afinal position is important, not a path of movement to the finalposition.

BRIEF DESCRIPTION OF THE DRAWINGS

The above, as well as other advantages of the present invention, willbecome readily apparent to those skilled in the art from the followingdetailed description of a preferred embodiment when considered in thelight of the accompanying drawings in which:

FIG. 1 is a schematic block diagram of a programmable fixturemanufacturing system including a graphical interface in accordance withthe present invention;

FIG. 2 is schematic plan view of the manufacturing cell shown in theFIG. 1;

FIG. 3 is a display screen generated on the interface device shown inthe FIG. 1;

FIG. 4 is a shim utility screen generated on the interface device shownin the FIG. 1;

FIG. 5 is a position edit utility screen generated on the interfacedevice shown in the FIG. 1;

FIG. 6 is a frame edit utility screen generated on the interface deviceshown in the FIG. 1;

FIG. 7 is a monitor utility screen generated on the interface deviceshown in the FIG. 1; and

FIG. 8 is a flow diagram of the method of modifying the position of aprogrammable fixture according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

In the assembly of components and/or subassemblies into subassembliesand/or final assemblies, it is extremely important to rigidly hold theparts to be joined in an accurate position while a manufacturingoperation is performed. Typically, a programmable fixture for locatingor clamping a part is positioned according to master positioninformation entered into a programmable controller (CTLR) connected tocontrol an actuator or robot arm. If a change is to be made from themaster position, the operator must "jog" to a new position based uponhis perception or machine vision inspection must be used toautomatically initiate a change in the reference frame. If the operatorselects the new position, the master position information in the CTLRmust be changed either by program editing or an operator initiated teachpendant. The present invention provides a method and apparatus forgenerating "software shims" which eliminate any jogging or programediting in order to achieve a more accurate final position whileretaining position information for the master position and anyintermediate moves to permit each shim to be undone.

There is shown in the FIG. 1 a programmable fixture manufacturing system10 having a graphical interface in accordance with the presentinvention. A human being identified as a tooling operator 11 observesinformation displayed by and inputs command information into aninterface means or device 12. The interface device 12 includes at leastone input means and at least one output means. For example, theinterface 12 can include an input means 12a such as a keyboard, a mouseor a light pen for inputting operator commands and an output means 12bsuch as a video monitor for displaying information to the operator. Theinterface device 12 is connected to a data processing means such as acentral processing unit (CPU) 13 which receives command signals from theinterface device representing command information inputted by theoperator 11. The CPU 13 also generates display signals to the interfacedevice 12 representing information to be displayed to the operator 11.The CPU 13 is connected to a manufacturing cell 14 which will bedescribed in more detail below. The manufacturing cell 14 includes oneor more programmable fixtures (see FIG. 2) for maintaining one or morecomponents in a predetermined fixed position while one or moremanufacturing operations are performed. The CPU 13 is also connected toa memory 15 which stores an operating program for reading the commandsignals generated by the interface 12, generating the display signals tothe interface, generating control signals to the manufacturing cell 14and reading position signals generated by the manufacturing cell 14. Thememory 15 also includes information related to the predeterminedposition of the component or components relative to a common referencepoint as described below.

There is shown in the FIG. 2 a schematic plan view of the manufacturingcell 14. The manufacturing cell 14 includes a subplate 16 whichtypically is mounted on a floor (not shown) of a manufacturing plant.The subplate 16 includes a tooling operator loading area 17 from whichthe operator 11 loads components and/or subassemblies into themanufacturing cell 14 and unloads subassemblies or final assemblies fromthe manufacturing cell. The loading and unloading can be performedmanually or automatically. Mounted on the subplate 16 are a plurality ofmechanical units which are utilized to maintain the components orsubassemblies in position for the manufacturing operations to beperformed. For example, viewing the subplate 16 from the perspectivefrom an operator standing in the operator loading area 17, a firstmechanical unit 18 is mounted on the subplate 16 in a far left corner, asecond mechanical unit 19 is mounted in a far right corner, a thirdmechanical unit 20 is mounted in a near right corner and a fourthmechanical unit 21 is mounted in a near left corner. Typically, eachmechanical unit includes an electric servo controlled small 4-axisrobotic arm movable along an X axis, a Y axis a Z axis and a roll axis.However, the mechanical units are not limited to such construction, butcan be any electric servo controlled mechanism. Position feedback can beby conventional means such as monitoring the force generated by themotors or measuring the components. The mechanical units 18 through 21can be programmable locators of the type described in more detail in theU.S. Pat. No. 5,239,739 incorporated herein by reference.

The subplate 16 also includes within its boundaries a common referencepoint 22 which is utilized to determine the positioning of anarticulated arm on each of the mechanical units 18 through 21. Thecommon reference point 22 is defined as the origin of three orthogonalaxes. An X axis 23 extends generally horizontally through the point 22with positive values to the left of the point 22 and negative values tothe right of the point 22. A Y axis 24 extends generally verticallythrough the point 22 with positive values below the point 22 andnegative values above the point 22. A Z axis 25 extends through thepoint 22 perpendicular to the X axis 23 and the Y axis 24 with positivevalues extending away from the subplate 16 toward the viewer andnegative values extending toward the subplate away from the viewer. Acontact point on each of the mechanical units with the components to beassembled is also referenced to the common reference point 22. Forexample, a contact point 26 on an articulated arm 27 of the firstmechanical unit 18 can have its position related to the common referencepoint 22 utilizing the Cartesian coordinate system. Each of themechanical units 19 through 21 also can be referenced to the commonreference point 22 in a similar manner.

The manufacturing drawings for the components of the body of a vehicletypically are dimensioned from a style origin reference point for thebody. In order to produce the most dimensionally accurate assembly ofthe body components, it is desirable to utilize the style origin pointas a reference for positioning the mechanical units 18 through 21.Typically, a style origin point 28 is located along the X axis 23 at thezero position for the Y axis 24. The style origin point can be anydefined position, the alignment of axes is a common choice, but is notrequired. Now, the position of each of the mechanical unit contactpoints can be determined with respect to the style origin point 28 whenassembling the body components. Of course the location of the styleorigin point 28 will vary according to the body style being manufacturedat the time. Thus, the information related to the positioning of variousstyle reference points can be stored in the memory 15 and read by theCPU 13 when the body style being manufactured is identified by theoperator 11 through the interface 12.

The mechanical units 18 through 21 are typically operated by aprogrammable controller (CTLR) which stores a logic program withinformation for generating control signals to the servo motors. Themanufacturing cell 14 includes a CTLR 29 having a first input/output 29aconnected to the CPU 13 and a second input/output 29b connected to eachof the mechanical units 18 through 21. When the operator 11 desires tomake a change in the positioning of any of the mechanical units 18through 21, the CPU 13 downloads all of the style, arm and positionalinformation from the CTLR 29. This is done to ensure that a "master"copy of the data is maintained on the CTLR 29. The CPU 13 will makechanges in accordance with the current data inputted as commands by theoperator 11 and send the modified information as control signals to theCTLR 29 in order to reposition the mechanical units 18 through 21 asdesired. The changes are in the form of "software shim" which repositionthe mechanical units through control signals rather than by inserting orremoving actual shims.

There is shown in the FIG. 3 a display screen 30 generated by the CPU 13at the interface 12 for use by the operator 11 to reposition themechanical units 18 through 21. Extending along an upper side of thedisplay screen 30 is a combination icon bar and title block display area31. The icons are positioned on software buttons and representoperations which can be performed by the CPU 13 such as Setup, Operate,Monitor, Reports, Utilities, Help and Exit. These operations areselected in a conventional manner by positioning an arrow on the desiredicon and clicking a mouse. Located below the bar 31 is a tab bar displayarea 32 which has software tabs labeled Language, File, PDT, TP Edit, IOHistogram and Flex Shim representing operations which can be performedby the CPU 13. Each of these tabs can be selected by positioning thearrow on the tab and clicking the mouse. As explained below, someoperations require the selection of a button and a tab in that order.The screen 30 also includes a manufacturing cell display area 33 locatedbelow the tab bar 32 along a left side of the display screen 30. Thereis generated in the manufacturing cell display area 33 a schematic planview of the manufacturing cell 14 which is similar to the view shown inthe FIG. 2 described above.

Along an upper right side of the manufacturing cell area 33 is located aShim Size display area 34. Below the Shim Size display area 34 is aFunction Selected display area 35 and below the Function Selecteddisplay area is a message display area 36. Extending from the left sideof the display screen 30 below the manufacturing cell display area 33and the message display area 36 is a shim history display area 37. Belowthe shim history display area 37 is an edit display area 38. All of thedisplay areas 31 through 38 will be explained in more detail below.

In operation, the mechanical units 18 through 21 are positioned by theCTLR 29 according to the dimensions of the components being worked uponas referenced from the style origin point 28. Since the drawings for thecomponents include dimensions with tolerances as do the drawings showingthe assembly of the components, the actual components mounted on thesubplate 16 should fall somewhere within the tolerance ranges on thedrawings. If the components being assembled will cause the resultantsubassembly to be out of tolerance for the positions of the mechanicalunits 18 through 21, one or more of the mechanical units must berepositioned. In the prior art manufacturing systems, the repositioningof fixtures and locators was done mechanically by inserting and removingactual shims. The present invention provides a method of creating"software shims" to accomplish the same objectives. The presentinvention graphically interfaces the operator 11 with the manufacturingcell 14 such that the operator can utilize software shims to position aplurality of servo driven locators, clamps and tools attached to themechanical units 18 through 21 which locate and fixture automotivecomponents for such operations as spot welding. The present inventionhas the advantages that multiple mechanical units are integrated in onecontrol system, that all operations of the system can be controlled froma single interface device and that actual shims are not required.

There is shown in the FIG. 4 a Shim Utility screen which is displayed onthe display screen 30 when the operator 11 clicks on a Utilities button31a and a Flex Shim tab 32a which are shown in the FIG. 3. The CPU 13will download from the CTLR 29 all the style, arm and positionalinformation for use in positioning the mechanical unit of themanufacturing cell 14. As stated above, the manufacturing cell displayarea 33 contains a representation of the manufacturing cell 14 includingthe mechanical units 18 through 21. Each of the mechanical units isidentified by a name, such as a name "POSN #1" for the unit 18 shown ona base 18a of the unit. The Shim Size display area 34 will containinformation concerning a shim to be applied to the mechanical unit 18. AShim Size display 34a displays the value of the size or thickness of theshim in millimeters. Each digit of the value displayed can be increasedby clicking the mouse on an associated upwardly directed arrowhead ordecreased by clicking the mouse on an associated downwardly directedarrowhead on shim size change buttons 34b. The component contactposition of the mechanical unit 18 represented by the reference point 26which is at an intersection of a pair of cross hairs 26a and 26b. Theposition of the reference point 26 relative to the common referencepoint 22 can be changed by the value of the shim size by clicking on theareas between the cross hairs with the mouse. The arrow is moved withinthe space of cross hairs 26a and 26b of the selected mechanical unit andthe left button on the mouse is pressed.

If the shim is to be made in the up or down direction along the Z axis25, then an up button 33a or a down button 33b along a right edge of thedisplay area 33 is clicked on. If the shim is to be made in a directionalong the X axis 23 or the Y axis 24, the arrow is moved to the desiredquadrant defined by the cross hairs 26a and 26b and the left button onthe mouse is pressed. A Shim Direction display 34c shows the directionin which the shim will be applied. The terms "FORE" and "AFT" areutilized to indicate movement to the left and right respectively alongthe X axis and the words "IN" and "OUT" are utilized to indicatemovement down and up respectively along the Y axis. For example, theword "FORE" appears in the display 34c in the FIG. 4 indicating that theshim will be applied in a left hand direction along the X axis 23. AShim Moves Positioner check box 34d is provided to determine whether themechanical unit 18 will be moved immediately to the new position or willnot move until a command is issued by the operator 11 through theinterface 12.

In the Function Selected display area 35, there is a Function Selecteddisplay 35a for displaying a visual indication that the "Tool" has beenselected and a function change button 35b which permits movement througha menu of functions to be selected. The display area 35 also includes aP2 Unit Selected display 35c indicating that the mechanical unit 18 hasbeen selected as identified by the name "POSN #1". The display 35c isassociated with a unit change button 35d for moving through a menu whichincludes the identifications for the mechanical units 18 through 21. Thedisplay area 35 also includes a Style Selected display 35e forindicating a body style selected such as "FRONT 2 DR" and an associatedstyle change button 35f by which the body style is selected from a menuof different body styles.

The message display area 36 shows operating messages indicating what theCPU 13 is doing (e.g., downloading data) or error messages (e.g., a shimmakes a position unreachable).

When the function, the mechanical unit and the body style have beenselected, the shim history display area 37 includes a shim historydisplay 37a which provides a shim history log as a visual indication ofall shims previously generated. A Read History button 37b can be clickedon to cause the CPU 13 to download the stored shim history data from thememory 15 related to the shims for the tool, the mechanical unit and thebody style selected. A check box 37e is provided for designating thatthe shim data for all mechanical units is to be displayed. An All Stylescheck box 37f is provided for indicating that the shim data for all bodystyles is to be displayed. The shim data is visually displayed in theshim history display 37a wherein each line reflects data for one shimincluding the body style, the mechanical unit, the frame, the magnitudeof the shim in each of the Cartesian directions and the date and timethe shim was made. An Undo Shim button 37c is provided which permits theoperator to cancel the most recent shim. A Clear Shims button 37d isprovided for deleting all of the displayed shim data.

Below the Shim History display area 37 is the edit display area 38. Thearea 38 includes a Re-Read data button 38a which can be selected tore-read data from the CTLR 29, an Edit Frames button 38b which can beselected to enter a frame edit utility screen and an Edit Positionsbutton 38c which can be selected to enter a position edit utilityscreen.

If the Edit Positions button 38c is clicked, a position edit utilityscreen 39 is generated on the interface 12 as shown in the FIG. 5. Thescreen 39 includes at an upper end thereof a Function Selected displayarea 40 which is the same as or similar to the display area 35 shown inthe FIG. 4. The default information is the same as that which was shownin the display area 35 before leaving the Shim Utility screen. However,the function, unit and style can be changed as was described withrespect to the display area 35. Below the Function Selected display area40 is a Position Display area 41 which indicates "X", "Y", "Z", Roll andconfiguration data for both the master position and the current positionfor the selected unit, style and function. The two positions differ inthat the master position is never affected by the shims. Therefore, itis possible to return to the original or master position if shimminggets out of hand. The master position data includes an "X" positiondisplay 41a, a "Y" position display 4lb, a "Z" position display 41e, a"Roll" or "R" position display 41d. The configuration is indicated by aLefty radio button 41e or a Righty radio button 41f. The values in eachof the boxes 41a through 41d can be changed by clicking the mouse on thebox and entering a new value. The configuration can be changed byclicking on one of the radio buttons 41e and 41f. A set of similardisplays and radio buttons is provided for the currently taughtposition.

In the lower left corner of the display area 41 is a Tool Used display41g which indicates the name of the tool to be used by the selected unitwhen moving to the selected position. The tool is selected by utilizinga tool name change button 41h. An Enabled Position box 41i is providedto indicate whether the selected position of the tool is enabled. If theposition is not enabled, the CTLR 29 will ignore this unit whencommanded to move to this position. In this case, the "X", "Y", "Z" and"R" values are meaningless.

At the bottom of the screen 39 is a final action display area 42 whichincludes an OK button 42a and a Cancel button 42b. When the data on thescreen 39 is correct, the OK button 42a is clicked or an enter key on anassociated keyboard can be pressed. This action will bring up aconfirmation box which asks if the changes are to be saved. If theCancel button 42b is pressed, then the confirmation box will disappearallowing editing to resume.

If the Edit Frames button 38b shown on the screen in the FIG. 4 isclicked on, a Frame Edit Utility screen 43 is generated by the interface12 as shown in the FIG. 6. This screen is divided into three main areas:the Style Frame Edit display area, the Arm Frame Edit display area andthe Tool Frame Edit display area. An upper portion of the screen 43 is aStyle Frame Edit display area 44. A selected style is indicated in aStyle Name display 44a and the selected style can be changed utilizing astyle name change button 44b. As the style changes, other associatedtext displays are updated to reflect the data of the currently selectedstyle. To the right of the Style Name display 44a is a PLC Num display44c which indicates a reference number for this style which is the valuethat the CTLR 29 will place on the style input data lines to representthis particular style. The value can be changed by clicking on thedisplay 44c and entering a new number. The display area 44a alsoincludes an upper Pre-Style display 44d and a lower Post-Style display44e. In these displays there are indicated the names of the auxiliaryprograms to be executed before and after the style command is executed.To change the name of an auxiliary program, the desired display isclicked on and the new name is entered.

Below the display 44e is a Style Frame display 44f for displaying theframe data for the selected style. The style frame makes the connectionfrom the reference point 22 on the subplate 16 to the style origin point28 on the part frame. The right side of the Style Frame Edit displayarea 44 includes an Aux Programs display 44g for indicating data usedduring the execution of four available commands for each style. The nameof the command appears above and the field names appear to the left ofthe displays. The fields contain the data for the pre- and post-commandauxiliary programs to be run, the scope of the motion for that command,and the name of the command for which this commands receives thislocation data. The names of the Aux Programs are "LOAD", "TOOL","REPOS", and "UNLOAD". The "Location" and "Type" fields can be changedby clicking on the change buttons to the left of the associateddisplays.

The command which contains the positional data to be used is stored. Forexample, if every command tells the mechanical units to go to the sameposition, that data only needs to be stored under one command (enteredin the Position Data Entry screen). Then the location from the fieldscould all be set to that command name. The typical application wouldprobably store the data under TOOL, for example, and set all theLocation fields to TOOL. The motion type for any command has threeavailable choices. A first choice "NONE", causes the mechanical unit notto move at all when that command is selected (this will essentiallycause the pre- and post-programs for that command to be executed). An"AUTO" choice will only cause motion when the CTLR 29 is in the automode. The "ALWAYS" choice causes motion every time the command isselected for execution. To change an auxiliary program name, click onthe desired text box and enter the new name. To clear a name, type anasterisk in the box. An asterisk means that no program is currentlyselected. Located below the display 44f is an Add Style button 44h and aDelete Style button 44i. When the Add Style button 44h is clicked on, astyle for which information has been entered in the screen 43 is addedto a list of styles stored in the memory 15 and all data fields areinitialized with null data. When the Delete Style button 44i is clickedon, the currently displayed style is deleted. This deletion is notpermanent until the screen 43 is exited.

The Arm Frame Edit display area 45 is located below the buttons 44h and44i and includes an Arm Name display 45a and an arm name change button45b. The desired mechanical unit to edit is selected by clicking on thechange button 45b until the name of the desired mechanical unit isindicated in the display 45a. Below the button 45b is located an ArmEnabled check box 45c which is utilized to enable or disable the arm.With the arm disabled, it will be ignored by the CTLR 29 when the stylecommands are issued. The arm will remain in the position it was in whenit was disabled. Below the check box 45c is an Arm Frame display 45d forindicating the data associated with the selected arm. The arm framemakes the connection from the mechanical unit to the reference point 22on the subplate 16. The data is changed by clicking on the desireddisplay and typing in new data. To the right of the Arm Frame Editdisplay area 45 is a Tool Frame Edit display area 46. At the top of thearea 46 is a Tool Name display 46a and a tool name change button 46b.The desired tool to edit is selected by clicking on the button 46b.Below the display 46a is a Tool Offset display 46c. The tool frame makesthe connection from the faceplate of the mechanical unit to the toolcenter point of the mounted tool. This data can be changed by clickingon the associated display and typing in new data. At the bottom of theTool Frame Edit Area 46 is an Add Tool Definition button 46d. When thebutton 46d is clicked, data in the Tool Frame Edit display area 46 willbe added to the memory 15 and the new tool definition will beinitialized with no data.

At the bottom of the screen 43 is a final action display area 47 whichincludes an OK button 47a and a Cancel button 47b. When the data on thescreen 43 is correct, the OK button 47a is clicked on or the enter keyis pressed. This will bring up a confirmation box which asks is thechanges are to be saved (YES), the changes are to be discarded (NO) orjust continue editing (CANCEL). If Yes or No is pressed, the CPU 13 willsave the changes to the CTLR 29, if necessary, and erase the screenbringing back the Shim Utility screen shown in the FIG. 4. If the Cancelbutton 47b is clicked, then the confirmation box will disappear,allowing editing to resume.

There is shown in the FIG. 7 a Monitor Utility screen 48 which isgenerated by clicking on a monitor button 3lb and the Flex Shim tab 32ashown in the FIG. 3. The CPU 13 will read the status of themanufacturing cell 14 from the CTLR 29 and display various informationin displays on the screen 48. Information on the status of the CTLR 29is displayed on the left side of the screen 48 in a positioner display48a and includes: "Last Style" which is the style which was run last;"Cycle Time" which is the cycle time for the last command; "Last Cmd"which is the last command type run; "Cold Cycles" which is the number ofcycles initiated by the CTLR since the last cold start; "Total Cycles"which is the number of cycles since initialization; "Cold Cmds" which isthe number of commands initiated by the CTLR, the shim or the interfacesince the last cold start; "Total Cmds" which is the number of totalcommands since initialization; "Rel Speed %" which is a graphicalrepresentation of TP percent override; "Clamps" which is a graphicalrepresentation of the clamps; "In Cycle" light; "Auto Mode" light;"Fault" light; and "Last Fault" which is the last fault message.

At the right side of the screen 48 information is displayed in amanufacturing cell or process equipment (e.g. spot welding robot)display 48b which has been received from and represents the status ofthe CTLR 29. This information includes: "Last Style" which is the stylethat was last run; "Cycle Time" which is the cycle time for the lastrun; "Spot Count" which is the total number of spot counts; "CurrentLine" which is the line number of the current program; "Rel Speed" whichis a graphical representation of TP percent of Override; "In Cycle"light; "At Home" light; "Fault" light; and "Last Fault" which is thelast fault message.

The method implementing a software shim according to the presentinvention involves the steps of selecting a mechanical unit, selecting aspecific style part program, selecting a desired direction of movement,selecting a desired amount of movement in the selected direction andinstructing a programmable controller to execute the selected movement.There is shown in the FIG. 8 a flow diagram of the steps for creating asoftware shim according to the present invention. The method begins at acircle START 49 which causes the screen shown in the FIG. 3 to bedisplayed by the output means 12b. The input means 12a, in the form of amouse, is used to perform subsequent steps. The method enters aninstruction set 50 SELECT SHIM UTILITY wherein the operator first clickson the Utilities software button 31a and then on the Flex Shim softwarebutton 32a to cause the Shim Utility screen of the FIG. 4 to bedisplayed. The method enters an instruction set 51 SELECT MECHANICALUNIT wherein the operator clicks on the change button 35d unit thedesired mechanical unit is identified in the display 35c. In thealternative, the operator can click on the representation of the desiredmechanical unit in the manufacturing cell display area 33.

After the mechanical unit is selected, the method enters an instructionset 52 SELECT STYLE PROGRAM wherein the operator clicks on the changebutton 35f until the desired body style part is identified in thedisplay 35e. The method then enters an instruction set 53 SELECTDIRECTION wherein the operator clicks on a desired area between thecross hairs 26a and 26b in the display area 33 to select one of thedirections fore, aft, in and out, or clicks on one of the softwarebuttons 33a and 33b to select the up and down directions respectively.the selected direction is indicated in the Shim Direction display 34c.Next, the method enters an instruction set 54 wherein the operatorclicks on the shim size change software buttons 34b to select the amountof movement in the selected direction to be caused by the software shim.The operator selected shim size is indicated in the display 34a. Themethod then enters an instruction set 55 EXECUTE MOVE wherein the CPU 13sends the move data as control signals to the CTLR 29 automatically ifthe Shim Moves Positioner check box 34d is enabled.

After all of the data for the software shim has been entered, theprogram enters an instruction set 56 ANOTHER SHIM? to determine whetheranother shim is desired. To create another shim, the operator executesthe instruction sets 51 through 55. Of course, while the operator is inthe Shim Utility screen, he can delete a shim by selecting it in theshim history display 37a and clicking on the Undo Shim software button37c. After all of the software shims have been created, the method exitsat a circle 57.

In accordance with the provisions of the patent statutes, the presentinvention has been described in what is considered to represent itspreferred embodiment. However, it should be noted that the invention canbe practiced otherwise than as specifically illustrated and describedwithout departing from its spirit or scope.

What is claimed is:
 1. An apparatus for modifying a position of aprogrammable fixture comprising:a storage means for storing part programmaster position information representing a master position for amechanical unit referenced to a predetermined common reference point; amanufacturing cell having a least one mechanical unit for engagingcomponents to be assembled, said mechanical unit being responsive to acontrol signal for moving to said master position; an interface meansbeing responsive to a display signal for generating a visualrepresentation of the master position and being responsive to a humanoperator for generating a command signal identifying software shimposition information for moving said mechanical unit from said masterposition to a new position, said visual representation being a graphicdisplay of a shim utility screen displaying a plurality of parametersdefining said operator selected new position of the programmable fixturerelative to a current position of the programmable fixture and includinga manufacturing cell display area having a graphical representation of aposition of said mechanical unit relative to said predetermined commonreference point; and a data processing means connected to said storagemeans, said mechanical unit and said interface means, said dataprocessing means being responsive to said stored part program masterposition information for generating said display signal and said controlsignal, said data processing means being responsive to said commandsignal for generating a software shim modified control signal, whereinsaid mechanical unit is responsive to said modified control signal formoving from said master position to said operator selected new position.2. The apparatus according to claim 1 wherein said shim utility screenincludes a function selected display area having a visual indication ofa function selected, a mechanical unit selected and a style selected forthe programmable fixture.
 3. The apparatus according to claim 1 whereinsaid shim utility screen includes a shim history display area having avisual indication of software shims previously applied to theprogrammable fixture.
 4. The apparatus according to claim 1 wherein saidvisual indication includes an icon and title bar display area having agraphical representation of icons on software buttons representingoperations to be performed by said data processing means.
 5. Theapparatus according to claim 1 wherein said visual indication includes atab bar display area having a graphical representation of software tabsrepresenting operations to be performed by said data processing means.6. The apparatus according to claim 1 wherein said shim utility screenincludes a shim size display area having a visual indication of a sizeof a software shim to be applied to the programmable fixture.
 7. Theapparatus according to claim 6 wherein said shim size display area has avisual indication of a direction in which the software shim is to beapplied to the programmable fixture.
 8. An apparatus for modifying aposition of a plurality of mechanical units in a manufacturing cellcomprising:a manufacturing cell having a plurality of mechanical unitsfor engaging components to be assembled, each said mechanical unit beingresponsive to control signals for moving to an associated masterposition referenced to a common reference point; a storage means forstoring master position information for each of said mechanical unitsfor each of a plurality of styles of components to be assembled; aninterface means being responsive to display signals for generating avisual representation of said master position information and beingresponsive to a human operator for generating command signalsidentifying a selected mechanical unit, a selected style of components,and software shim direction and amount information for moving saidselected mechanical unit from said associated master position to anassociated new position referenced to said common reference point; and adata processing means connected to said storage means, said mechanicalunits and said interface means, said data processing means beingresponsive to said stored master position information for generatingsaid display signals and said control signals, said data processingmeans being responsive to said command signals for generating a softwareshim modified control signal to said selected mechanical unit, said dataprocessing means storing a set of software shim information in saidstorage means for each of a plurality of said software modified controlsignals, said software shim information representing said software shimmodified control signal and being associated with said stored masterposition information for said selected mechanical unit and said selectedstyle of components, whereby said interface means is responsive to saiddisplay signals for generating a visual representation of said sets ofsaid software shim information and is responsive to a human operator forgenerating an undo command signal identifying a selected one of saidsets of said software shim information and said data processing means isresponsive to said undo command signal for deleting said selected set ofsaid software shim information from said storage means, and saidmechanical unit responds to said modified control signal by moving awayfrom said associated master position to said associated new position. 9.The apparatus according to claim 8 including a programmable controllerconnected between said data processing means and said mechanical units,said programmable controller being responsive to said control signalsfor moving said mechanical units.
 10. A method of creating a softwareshim to modify a position of a mechanical unit in a manufacturing cellcomprising the steps of:a. generating a graphic display of a masterposition of at least one mechanical unit in a manufacturing cell, saidgraphic display being a shim utility screen displaying a plurality ofparameters defining an operator selected new position of the mechanicalunit relative to a current position of the mechanical unit; b. inputtinginto a data processing means a command signal representing a selectionof the mechanical unit; c. inputting into the data processing means acommand signal representing a selection of a style program; d. inputtinginto the data processing means a command signal representing a selectionof desired direction of movement for the selected mechanical unit; e.inputting into the data processing means a command signal representing aselection of a desired amount of movement in the selected direction; andf. generating from the data processing means a software shim modifiedcontrol signal for moving the selected mechanical unit from the masterposition by the selected amount in the selected direction.
 11. Themethod according to claim 10 including a step of storing software shiminformation representing said software shim modified control signal. 12.The method according to claim 11 including a step of storing masterposition information representing a master position for each of themechanical units for each style program software and a step ofassociating said software shim information with the master positioninformation for the selected mechanical unit.